<?
Function codigo_parente($dna, $nivel) {
	$parente = split(';', $dna);
	return $parente[$nivel];
}

Function parente_do_codigo($dna, $codigo_usuario) {
	include("conexao.php");
	$select = "
	select dna
	from   usuario
	where  codigoid = '$codigo_usuario'
	";

	$dna_usuario = pg_exec($conexao, $select);
	$dna_usuario = pg_fetch_row($dna_usuario);
	$dna_usuario = $dna_usuario[0];

	return parente($dna_usuario, $dna);
}

Function parente($dna, $dna2) {
	$parente = grau_parentesco($dna, $dna2);
	if ($parente === null) {
		return false;
	} else {
		return true;
	}
}

Function grau_parentesco($dna, $dna2) {
	if ($dna == $dna2) {
		return 0;
	}
	if (strlen($dna) > strlen($dna2)) {
		$diferenca = substr($dna, strlen($dna2));
		$base1 = substr($dna, 0, strlen($dna2));
		$base2 = $dna2;
		$aux = -1;
	} else {
		$diferenca = substr($dna2, strlen($dna));
		$base1 = substr($dna2, 0, strlen($dna));
		$base2 = $dna;
		$aux = 1;
	}

	//echo "$dna<br>$dna2<br>$parente<br>diferenca $diferenca<br>base $base1<br>base2 $base2<br>$aux";

	if ($base1 <> $base2) {
		return null;
	}
	
	return substr_count($diferenca, ';') * $aux;
}

Function descendente($dna, $dna_pai) {
	$parte_dna_descendente = substr($dna, 0, strlen($dna_pai));
	//echo "dna: $dna<br>parte: $parte_dna_descendente<br>pai: $dna_pai";
	if ($parte_dna_descendente == $dna_pai) {
		return true;
	} else {
		return false;
	}
}

Function pai_dna($dna) {
	$dna = substr($dna, 0, strlen($dna) -1);
	$dna = explode(';', $dna);
	$aux = count($dna) - 1;

	$aux2 = 0;
	$dna_pai = '';

	while ($aux2 < $aux) {
		$dna_pai = $dna_pai.$dna[$aux2].';';
		$aux2++;
	}
	return $dna_pai;
}

Function nivel_dna($dna) {
	$dna = substr($dna, 0, strlen($dna) -1);
	$dna = explode(';', $dna);
	$aux = count($dna);

	return $aux;
}
Function logar($pagina) {

	require('conexao.php');
	$ip = getenv("REMOTE_ADDR");
	$browser = getenv("HTTP_USER_AGENT");

	$get = '';
	foreach($_GET as $nome_campo => $valor) {
		$get = $get."&$nome_campo=$valor";
	}
	$post = '';
	foreach($_POST as $nome_campo => $valor) {
		$post = $post."&$nome_campo=$valor";
	}

	$get = pg_escape_string($get);
	$post = pg_escape_string($post);
	$sessao = session_id();

	$select = "insert into log(usuario, ip, browser, pagina, get, post, sessao) 
	                    values('$_SESSION[__codigo_usuario]', '$ip', '$browser', '$pagina', '$get', '$post', '$sessao')";

	if ($select <> $_SESSION[select_anterior]) {
		$_SESSION[select_anterior] = $select;
		pg_exec($conexao, $select);
	}
}

Function CarregaImagem($local_imagem) {
	// abrir e enviar o arquivo
	$fp = fopen("$local_imagem", "r");
	fpassthru($fp);
	fclose($fp);
}

Function DownloadArquivo($arquivo, $nomearquivo) {
	$nomearquivo = 'imagens/cache/'.$nomearquivo;

	@unlink($nomearquivo);
	copy($arquivo, $nomearquivo);
	header("location: $nomearquivo");
}

Function VerificaArquivo($arquivo) {
	if (@!is_file($arquivo)) { // se o arquivo n�o � arquivo ...
		return false;
	} else {
		return true;
	}
}

Function CarregaPaginasComAcesso() {
	return true;
}
$aux = 0;
function testa_elemento($item, $key) {
	if ($item == $_SESSION[pagina]) {
		include("conexao.php");
		$ip = getenv("REMOTE_ADDR");
		$browser = getenv("HTTP_USER_AGENT");
		$insert = "insert into log (matricula, ip, browser, link, administracao) values ('$_SESSION[__matricula]', '$ip','$browser', '$pagina', $_SESSION[Administracao])";
		unset($_SESSION[pagina]);
		$_SESSION[OK] = true;
	}
}

Function VerificaAcessoObjeto($pagina) {
	$aux = count($_SESSION[PaginasComAcesso]) + 1;
	for ($aux2 = 0; $aux2 <= $aux; $aux2++) {
		$descricao = $_SESSION[PaginasComAcesso][$aux2][codigo_objeto];
		if ($_SESSION[PaginasComAcesso][$aux2][codigo_objeto] == $pagina) {
			return true;
		}
	}
	return false;
}

Function VerificaBase() {
	$pagina = basename($_SERVER[REQUEST_URI]);
	if (substr($pagina, 0, 15) == 'sistema.php') {
		return true;;
	} else {
		header("location: sistema.php?pagina=$pagina");
		return false;
	}
}

Function VerificaAcessoNovo($pagina, $retorna) {
	if (isset($_SESSION['__usuario'])) {
		return true;
	} else {
		return false;
	}
}

function VerificaAcesso($pagina) {
	return VerificaAcessoNovo($pagina, true);
}


Function GeraMenu($pagina_inicial) {
	$menu = "
	<div id=\"menu_princ\">
		<ul>
			<li>
				<a href=\"$pagina_inicial\">Home</a>
			</li>
			<li class=\"divmenu\" onclick=\"mostra_menu('sm1')\">
				<span>Inscri&ccedil;&atilde;o</span>
				<ul  id=\"sm1\" class=\"subitens\"> 
					<li><a href=\"sistema.php?pagina=inscricao.php\">Nova</a></li>
					<li><a href=\"sistema.php?pagina=consultas/consInscricao.php\">Consultar</a></li>
				</ul>
			</li>
			<li class=\"divmenu\" onclick=\"mostra_menu('sm2')\">
				<span>Relat&oacute;rios</span>
				<ul  id=\"sm2\" class=\"subitens\"> 
					<li><a href=\"sistema.php?pagina=relatorios/relInscricoes.php\">Inscri&ccedil;&otilde;es</a></li>
					<li><a href=\"sistema.php?pagina=relatorios/relInscritos.php\">Inscritos</a></li>
					<!--<li><a href=\"sistema.php?pagina=contas.php?em_aberto=0\">Quitadas</a></li>-->
				</ul>
			</li>
			<li class=\"divmenu\" onclick=\"mostra_menu('sm3')\">
				<span>Minicursos</span>
				<ul  id=\"sm3\" class=\"subitens\"> 
					<li><a href=\"sistema.php?pagina=minicurso/consMiniCurso.php\">Inscrever-se</a></li>
				</ul>
			</li>
			
			<!-- Manter como exemplo para outros sistemas
			<li class=\"divmenu\" onclick=\"mostra_menu('sm4')\">
				<span>Caixa</span>
				<ul  id=\"sm4\" class=\"subitens\"> 
					<li><a href=\"sistema.php?pagina=relatorio_caixa.php\">Relat&oacute;rio</a></li>
					<li><a href=\"sistema.php?pagina=busca_caixa.php\">Lan&ccedil;amentos</a></li>
				</ul>
			</li>
			<li class=\"divmenu\" onclick=\"mostra_menu('sm3')\">
				<span>Tabelas</span>
				<ul  id=\"sm3\" class=\"subitens\"> 
					<li><a href=\"sistema.php?pagina=busca_produto.php\">Produtos</a></li>
					<li><a href=\"sistema.php?pagina=busca_tipo_lancamento.php\">Tipo de lan&ccedil;amento</a></li>
					<li><a href=\"sistema.php?pagina=busca_usuario.php\">Usu&aacute;rios</a></li>
				</ul>
			</li>
			-->
			<li>
				<a href=\"sistema.php?pagina=usuario.php\">Alterar Dados</a>
				<!--<a href=\"sistema.php?pagina=altera_senha.php\">Alterar Senha</a>-->
			</li>
			<li>
				<a href=\"index.php\">Sair</a>
			</li>
		</ul>
	</div>
	";
	$_SESSION['Menu'] = $menu;
};


Function traduz_mes($mes){
        if ($mes == "January")
                $mes = "Janeiro";
        elseif ($mes == "February")
                $mes = "Fevereiro";
        elseif ($mes == "March")
                $mes = "Mar&ccedil;o";
        elseif ($mes == "April")
                $mes = "Abril";
        elseif ($mes == "May")
                $mes = "Maio";
        elseif ($mes == "June")
                $mes = "Junho";
        elseif ($mes == "July")
                $mes = "Julho";
        elseif ($mes == "August")
                $mes = "Agosto";
        elseif ($mes == "September")
                $mes = "Setembro";
        elseif ($mes == "October")
                $mes = "Outubro";
        elseif ($mes == "November")
                $mes = "Novembro";
        elseif ($mes == "December")
                $mes = "Dezembro";
        else
                $mes = "";
        return $mes;
}

Function TrataFormula($formula, $parcelas, $valor) {
  $formula = Str_replace("#parcelas#", $parcelas, $formula);
  $formula = Str_replace("#valor#", $valor, $formula);
  return $formula;
}
////////////////////////////////////////////////////////////////////////////////
function verifica_senha() {
  if ($_SESSION[__matricula] > 0) {
    if ($_SESSION[__senha_vencida] == 't'){
                        ?>
                        <div id="senhaexp" class="creditos mostradiv">
                        <h1>Aviso</h1>
                        <p>O prazo de validade de sua senha est&aacute; vencido. Para renovar <a href="alterar_senha.php" title="Clique aqui para mudar sua senha">clique aqui</a>.</p>
                        <input type="button" class="fecha-creditos" onclick="document.getElementById('senhaexp').style.display='none';" value="fechar" />
                        </div>
                        <?
    }
  }
}
///////////////////////////////////////////////////////////////////////////////////////////
function ComparaData($data1,$data2) {
	$dia1=substr($data1,0,2);
	$mes1=substr($data1,3,2);
	$ano1=substr($data1,6,4);
	
	$mes1 = $mes1 * 30;
	$ano1 = $ano1 * 365;
	$data1 = $dia1 + $mes1 + $ano1;
	
	
	
	
	$dia2=substr($data2,0,2);
	$mes2=substr($data2,3,2);
	$ano2=substr($data2,6,4);
	
	$mes2 = $mes2 * 30;
	$ano2 = $ano2 * 365;
	$data2 = $dia2 + $mes2 + $ano2;
	
	if ($data1 > $data2){
		return true;
	} else {
		return false;
	}
}
////////////////////////////////////////////////////////////////////////////////
function SomaData ($data,$qDias) {
   $dia=substr($data,0,2);
   $mes=substr($data,3,2);
   $ano=substr($data,6,4);
   while ($qDias>0) {
      $tira=0;
      $diaAnt=$dia;
      $maxDia=date('t',strtotime($ano.$mes.$dia));
      $dia+=$qDias;
      if ($dia>$maxDia) {
         $dia=1;
         $mes++;
         $tira=1;
         if ($mes>12) {
            $mes=1;
            $ano++;
         }
         $qDias=$qDias-($maxDia-$diaAnt)-$tira;
      }
      else {
         $qDias=0;
      }
      if (strlen ($dia)<2) $dia="0".$dia;
      if (strlen ($mes)<2) $mes="0".$mes;
   }
   return ($ano."-".$mes."-".$dia);
}

Function ComboBoxExtendido($nome, $lista_origem, $campo, $chave, $valor, $Texto, $opcoes){
	$aux = pg_num_rows($lista_origem);
	echo "<select id='$nome' name='$nome' $opcoes>";

	if ($Texto <> ''){
		echo "<option value='-1'>$Texto</option>";
	}

	while ($dado = pg_fetch_row($lista_origem)) {
		echo "<option value='$dado[$chave]'";

		if ($valor == $dado[$chave] OR $aux == 1) {
			echo " selected";
		}
		echo ">$dado[$campo]</option>";
	}
	echo "</select>";

	if ($aux == 1) {
		if (strpos($opcoes, 'onchange')) {
			echo "<script language='javascript'>document.getElementById('$nome').onchange();</script>";
		}
	}
}


Function ComboBox($nome, $lista_origem, $campo, $chave, $valor, $Texto){
  ComboBoxExtendido($nome, $lista_origem, $campo, $chave, $valor, $Texto, '');
}

Function Procura($query, $campo, $valor, $restaura_posicao) {
	pg_result_seek($query, 0);
	$linhas = pg_num_rows($query);
	For ($i = 0; $linha = pg_fetch_row($query); $i++) {
		if ($linha[$campo] == $valor) {
			if ($restaura_posicao) {
				pg_result_seek($query, 0);
			} else {
				pg_result_seek($query, $i);
			}
			return $i;
			break;
		}
	}
	if ($restaura_posicao) {
		pg_result_seek($query, 0);
	} else {
		pg_result_seek($query, $i);
	}
	return -1;
}

Function RemoveFormatacao($numero){
	$numero = str_replace('.', '', $numero);
	$numero = str_replace(',', '.', $numero);
	return $numero;
}

Function EnviaEmail($destinatario, $assunto, $dados){
	$remetente = "eventoscg@cefetpb.edu.br";	
	$conteudo = "
	<html>
	<body>
		<h2>Seu cadastro foi efetuado com sucesso</h2><br>
		<p>Seus dados sao:<br>
		'$dados'<br>
		</p>
	</body>
	</html>";
	
	//para o envio em formato HTML
	$cabecalho = "MIME-Version: 1.0";
	$cabecalho .= "Content-type: text/html; charset=iso-8859-1";
	
	//endereço do remetente
	$cabecalho .= "From: '$remetente'";
	
	//endereço de resposta, se queremos que seja diferente a do remitente
	$cabecalho .= "Reply-To: '$remetente'";
	
	
	Return mail($destinatario, $assunto, $conteudo, $headers);	

}//EnviarEmail

?>